/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package componentes;

import componentes.BeanConector;
import componentes.BeanUsuario;
import java.beans.*;
import java.io.Serializable;

/**
 *
 * @author Ximena del Pilar
 */
public class BeanGestionUsuario {

    BeanConector bc;
    BeanUsuario[] ArregloUsuarios;

    public BeanGestionUsuario(BeanConector bc) {
        this.bc = bc;
    }

    public BeanUsuario ValidarUsuario(String login, String pwd) {
        BeanUsuario usuario;
        String sql = "SELECT * FROM USUARIOS WHERE " + "login = '" + login
                + "' AND " + "passwd = '" + pwd + "'";
        if (bc.consultar(sql)) {
            if (bc.siguiente() == 1) {
                usuario = new BeanUsuario();
                usuario.setNombre(bc.getCadena("nombre"));
                usuario.setApellidos(bc.getCadena("apellidos"));
                usuario.setLogin(bc.getCadena("login"));
                usuario.setPwd(bc.getCadena("passwd"));
                usuario.setEmail(bc.getCadena("email"));
                usuario.setTipo(bc.getCadena("tipo"));
                return usuario;
            }
        }
        return null;
    }

    public BeanUsuario DatosUsuario(String login) {
        BeanUsuario usuario;
        String sql = "SELECT * FROM USUARIOS WHERE " + "login = '" + login + "'";
        if (bc.consultar(sql)) {
            if (bc.siguiente() == 1) {
                usuario = new BeanUsuario();
                usuario.setNombre(bc.getCadena("nombre"));
                usuario.setApellidos(bc.getCadena("apellidos"));
                usuario.setLogin(bc.getCadena("login"));
                usuario.setPwd(bc.getCadena("passwd"));
                usuario.setEmail(bc.getCadena("email"));
                usuario.setTipo(bc.getCadena("tipo"));
                return usuario;
            }
        }
        return null;
    }

    public boolean InsertarUsuario(String nombre, String apellidos, String login,
            String password, String email, String tipo) {
        String sql = "INSERT INTO USUARIOS values('" + nombre + "', '" + apellidos
                + "', '" + login + "', '" + password + "', '" + email + "', '" + tipo
                + "')";
        if (bc.actualizar(sql) != -1) {
            return true;
        } else {
            System.out.println("Error: " + bc.getError());
            return false;
        }
    }

    public boolean ModificarUsuario(String nombre, String apellidos, String login,
            String password, String email) {
        String sql = "UPDATE USUARIOS SET NOMBRE='" + nombre + "', APELLIDOS = '"
                + apellidos + "', PASSWD = '" + password + "', EMAIL = '" + email
                + "' WHERE LOGIN = '" + login + "'";
        if (bc.actualizar(sql) != -1) {
            return true;
        } else {
            System.out.println("Error: " + bc.getError());
            return false;
        }
    }

    public BeanUsuario[] ListarUsuarios() {
        int i = 0;
        String sql = "SELECT * FROM USUARIOS";
        ArregloUsuarios = new BeanUsuario[15];
        BeanUsuario usuario;
        if (bc.consultar(sql)) {
            while (bc.siguiente() == 1) {
                usuario = new BeanUsuario();
                usuario.setNombre(bc.getCadena("nombre"));
                usuario.setApellidos(bc.getCadena("apellidos"));
                usuario.setLogin(bc.getCadena("login"));
                usuario.setPwd(bc.getCadena("passwd"));
                usuario.setEmail(bc.getCadena("email"));
                usuario.setDireccion(bc.getCadena("direccion"));
                usuario.setTipo(bc.getCadena("tipo"));
                ArregloUsuarios[i] = usuario;
                i++;
            }
            return ArregloUsuarios;
        }
        return null;
    }

    public boolean BorrarUsuarios(String login) {
        String sql = "DELETE FROM USUARIOS WHERE LOGIN = '" + login + "'";
        if (bc.actualizar(sql) != -1) {
            return true;
        } else {
            return false;
        }
    }
}
